Establishing and managing multiplayer sessions

ABSTRACT

A system and method for establishing and managing multiuser sessions is provided. A plurality of interactive content titles and at least one activity template associated with each of the interactive content titles are stored in memory. A processor executes instructions stored in memory, wherein execution of the instructions by the processor receives input regarding a selected activity associated with one of the interactive content titles stored in memory, retrieves an activity template associated with the selected activity from memory, establishes a session based at least on the activity properties, assigns a user as a leader of the established session, adds each of a plurality of peers to an available participant slot in accordance with leader input, and automatically initiates the selected activity within the established session.

BACKGROUND 1. Field of the Invention

The present technology pertains to providing multiuser sessions. Morespecifically, the present technology may provide for establishing andmanaging multiuser sessions.

2. Description of the Related Art

Multiuser gameplay is a popular and growing segment of gameplay.Multiuser gameplay may involve social interactions between a user andpeers (e.g., friends). Presently available interactions typically occurin a group at a platform level or in a group (e.g., team) within a game.Where a specific team may wish to play together in different games ordifferent sessions, such game group must generally be rebuilt in eachdifferent game, which may include different features and parametersdepending on each game despite some commonalities between differentgrouping processes. Further, steps to build a game group may bedifferent in each game.

Due to the popularity of multiuser games and playing games with a setgroup of peers (e.g., friends), significant delays and repeated and/ordifferent steps in each game can have significant (and negative) impacton user experience. Such group building may, for example, detract fromthe user experience when grouping processes—which may be repetitive todifferent extents—cause delay each time the group changes games.Further, such grouping must be repeated for groups of player thatregularly play different games together, resulting in delayed gameplay.

There is, therefore, a need in the art for systems and methods forestablishing and managing multiuser sessions.

SUMMARY OF THE PRESENTLY CLAIMED INVENTION

Embodiments of the present invention include systems and methods forestablishing and managing multiuser sessions. A plurality of interactivecontent titles and at least one activity template associated with eachof the interactive content titles may be stored in memory. Inputregarding a selected activity associated with one of the interactivecontent titles stored in memory may be received. An activity templateassociated with the selected activity from memory may be retrieve. Asession based at least on the activity properties may be established. Auser may be assigned as a leader of the established session. Each of aplurality of peers may be added to an available participant slot inaccordance with leader input. The selected activity may be automaticallyinitiated within the established session.

Various embodiments may include methods for establishing and managingmultiuser sessions. Such methods may include receiving input regarding aselected activity associated with an interactive content title. Suchmethods may include retrieving an activity template associated with theselected activity. The activity template may include activity propertiesspecifying at least a minimum number of participants to start theselected activity. Such methods may include establishing a session basedat least on the activity properties. The session may have a plurality ofparticipant slots based on the minimum number of participants specifiedby the retrieved activity template. Such methods may include assigning auser as a leader of the established session. The leader may haveleadership responsibilities including at least adding peers asparticipants in the session. Such methods may include adding each of aplurality of peers to each available participant slot in accordance withleader input. Such methods may include automatically initiating theselected activity within the established session.

Additional embodiments may include systems for establishing and managingmultiuser sessions. Such systems may include memory that stores aplurality of interactive content titles and at least one activitytemplate associated with each of the interactive content titles. Suchsystem may include a processor that executes instructions stored inmemory. Execution of the instructions by the processor may receive inputregarding a selected activity associated with one of the interactivecontent titles stored in memory. Execution of the instructions by theprocessor may retrieve an activity template associated with the selectedactivity from the at least one activity template. The activity templatemay include activity properties specifying at least a minimum number ofparticipants to start the selected activity. Execution of theinstructions by the processor may establish a session based at least onthe activity properties. The session may have a plurality of participantslots based on the minimum number of participants specified by theretrieved activity template. Execution of the instructions by theprocessor may assign a user as a leader of the established session. Theleader may have leadership responsibilities including at least addingpeers as participants in the session. Execution of the instructions bythe processor may add each of a plurality of peers to each availableparticipant slot in accordance with leader input. Execution of theinstructions by the processor may automatically initiate the selectedactivity within the established session.

Further embodiments include non-transitory computer-readable storagemedia having embodied thereon a program executable by a processor toestablish and manage multiuser sessions.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary network environment in which a systemfor establishing and managing multiuser sessions may be implemented.

FIG. 2 illustrates a detailed exemplary network in which a system forestablishing and managing multiuser sessions may be implemented.

FIG. 3 is a flowchart illustrating an exemplary method for establishingand managing multiuser sessions.

FIG. 4 is an exemplary electronic entertainment system that may be usedin establishing and managing multiuser sessions.

DETAILED DESCRIPTION

The detailed description set forth below is intended as a description ofvarious configurations of the subject technology and is not intended torepresent the only configurations in which the technology can bepracticed. The appended drawings are incorporated herein and constitutea part of the detailed description. The detailed description includesspecific details for the purpose of providing a more thoroughunderstanding of the technology. However, it will be clear and apparentthat the technology is not limited to the specific details set forthherein and may be practiced without these details. In some instances,structures and components are shown in block diagram form in order toavoid obscuring the concepts of the subject technology.

Embodiments of the present invention include systems and methods forestablishing and managing multiuser sessions. A user may select anactivity within an interactive content title that requires multipleusers to participate in the activity. As such, the user may create alead session to invite peers and/or interact with such peers before,during, or after participating in the selected activity. Such selectedactivity may be associated with an interactive content title. Anactivity template associated with the selected activity may be retrievedand include data regarding activity properties of the selected activity.A lead session may be established with lead session properties based onat least the activity properties. Such lead session may also include aplurality of participant slots, wherein each slot is occupied by aparticipating user or peer. A user may be assigned as a leader of thelead session. Such leader may have leadership responsibilities includingat least adding or removing peers from the lead session.

FIG. 1 illustrates an exemplary network environment 100 in which asystem for establishing and managing multiuser lead sessions can occur.The network environment 100 may include one or more interactive contentsource servers 110 that provide interactive content (e.g., video games,interactive video, etc.), platform servers 120, and one or more userdevices 140.

Interactive content source servers 110 may maintain and host interactivecontent titles available for play to a user device 140 over acommunication network. Such interactive content servers 110 may beimplemented in the cloud (e.g., one or more cloud servers). Eachinteractive content title may include one or more activities availablewithin the content title. The one or more activities may be playable bya single user or by multiple users. Each interactive content title mayinclude one or more templates corresponding to one or more activitiesavailable within the content title. Each template may provide astructured data set regarding the corresponding activities and that maybe used as the basis for tracking and displaying information regardingthe corresponding activities in real-time. Each template may alsoprovide data regarding establishing a lead session for multiuserinteractions and for participation in multiple interactive contents as asingle lead session. Such lead session may be implemented at theinteractive content source servers 110 and/or the platform servers 120.

In one example, the interactive content title is a video game title, andthe one or more templates may correspond to different modes ofcompetitive gameplay available within that game title. In anotherexample, the one or more templates may correspond to different chaptersof an interactive storyline. Each template may be associated with aportion of the interactive content title where the correspondingactivity starts within the interactive content title. For example, thetemplate may include a waypoint within a portion of a game (e.g., at aspecific game environment location at a specific point in time in thegame storyline) where an activity starts. In another example, thetemplate may virtually teleport a character of the user to the locationwithin the game environment that is closest to the start of theassociated activity. The template may also be associated withestablishing a lead session to group users for participation in theassociated activity and to provide group management. Such templateassociated with the lead session may further provide activityrequirements (e.g., number of players maximum and/or minimum, skilllevel and/or rank, character level and/or rank, user devicerequirements, etc.) required to launch the selected activity (e.g.,competitive match). Each template may be updated, edited, or removed, ornew templates may be created. The one or more templates may be stored atthe interactive content source servers 110 or at platform server 120 andretrieved therefrom.

The platform servers 120 may be responsible for communicating with thedifferent interactive content source servers 110 in order to establishand manage a lead session or a social session. Such platform servers 120may be implemented on one or more cloud servers. The interactive contentsource servers 110 may communicate with multiple platform servers 120.The platform servers 120 may also carry out instructions, for example,for establishing a lead session having lead session properties and aplurality of participant slots. Such lead session properties may bebased off of the activity requirements (e.g., number of players maximumand/or minimum, type of skill, skill level and/or rank, type ofcharacter/role, character level and/or rank, user device requirements,etc.) of the template associated with the selected activity and/or userpreference (e.g., limiting lead session to certain peers setting thelead session to private and/or by invite only, requiring a skill levelto join, etc.). The lead session may be established by a platform server120 associated with a user or a platform server 120 associated with apeer. Such lead session can include two or more users and can providecommunication between the users (e.g., voice chat, direct messaging,text chat, screen sharing, video chat, etc.) within the lead session.The platform servers 120 may further carry out instructions, forexample, to start or launch the selected activity and enter the leadsession into the launched activity.

The interactive content titles and their corresponding activities may beprovided through an application programming interface (API) 130, whichallows various types of interactive content source servers 110 tocommunicate with different platform servers 120 and different userdevices 140. API 130 may be specific to the particular computerprogramming language, operating system, protocols, etc., of theinteractive content source servers 110 providing the interactive contenttitles, the platform servers 120 providing the associated templates, anduser devices 140 receiving the same. In a network environment 100 thatincludes multiple different types of interactive content source servers110 (or platform servers 120 or user devices 140), there may likewise bea corresponding number of APIs 130.

The user device 140 may include a plurality of different types ofcomputing devices. For example, the user device 140 may include anynumber of different gaming consoles, mobile devices, laptops, anddesktops. Such user devices 140 may also be configured to access datafrom other storage media, such as, but not limited to memory cards ordisk drives as may be appropriate in the case of downloaded services.Such devices 140 may include standard hardware computing components suchas, but not limited to network and media interfaces, non-transitorycomputer-readable storage (memory), and processors for executinginstructions that may be stored in memory. These user devices 140 mayalso run using a variety of different operating systems (e.g., iOS,Android), applications or computing languages (e.g., C++, JavaScript).An exemplary user device 140 is described in detail herein with respectto FIG. 4.

In the exemplary network environment 200 of FIG. 2, an exemplary socialsession 202, an exemplary lead session 204, an exemplary activitysession 206, and an exemplary interactive interface 208 are illustrated.A social session 202 may be established without an activity selection orwithout an activity template. Such social session 202 may be created atthe platform server 120 by a user to group the user and peers (e.g.,friends) together prior to an activity selection and to providecommunication (e.g., voice chat, video chat, text chat, screen sharing,etc.) to the social session. A user of the social session 202 mayreceive an invitation to join a peer in an established lead session 204to participate in an activity selected by the peer. A user of the socialsession 202 may also create a lead session 204 and invite peers to joinsuch lead session 204. Activities that the social session 202 mayqualify for may be displayed on the interactive interface 208 to each ofthe user and the peers of the social session 202 for selection.

An exemplary lead session 204 may be established on the interactivecontent source servers 110 when a user selects an activity toparticipate in. Such lead session 204 may include lead sessionproperties. The lead session properties may be based on at least theactivity properties and/or user preferences (e.g., limiting lead sessionto certain peers setting the lead session to private and/or by inviteonly, requiring a skill level to join, etc.). The lead session 204 mayfurther include a plurality of participant slots. Such participant slotsmay be based on the minimum and/or maximum number of players that canparticipate in the selected activity. Each participant slot may beoccupied by a participant (e.g., a user or peer). Such participant maybe required to satisfy the lead session properties to occupy a slot. Forexample, the lead session property may require a certain skill level tojoin, and the participant may possess such skill level, thereby allowingthe participant to join the lead session and occupy a participant slot.

The lead session 204 may further include one or more spectator slots.Such spectator slots correspond to slots for viewing the activity duringthe lead session 204 interaction with the activity on spectator devices.The spectator slots may be restriction by some or all of the leadsession properties (e.g., hardware and/or software requirements) or thespectator slots may not be restricted. Such spectator slots may not beadded or generated until the selected activity has begun.

The lead session 204 can further include lead session history. Such leadsession history may be based on past activities completed by the leadsession and may include lead session data corresponding to each pastactivity (e.g., achievements and/or trophies earned by the lead session,activity run time, statistics related to the performance of the leadsession in the activity, activity results, past leaders, past peers,etc.). Such lead session history may be displayed on an interactiveinterface of the user device 140 as part of a user profile or part of asession profile. Such lead session history can allow a former leader orpeer to re-establish the session based on the lead session history. Suchre-established lead session can include the same lead session propertiespreviously established for the past lead session.

An exemplary activity session 206 may be established on the interactivecontent source servers 110 for the duration of a selected activity if alead session 204 is lacking the required number of participants for theselected activity. Such activity session 206 may join the leader andpeers of the lead session 204 to the activity session 206 and also joinanother lead session 204 or individual peers (e.g., peers not part of alead session) to the activity session 206 until the activityrequirements for the selected activity are fulfilled. For example, anactivity may require twelve participants and a first lead session and asecond lead session having six participants may be joined in an activitysession. 206 After the selected activity is completed, the activitysession 206 ends.

The leader and peers may remain in the lead session 204, whileparticipating in the activity session 206. In other words, the leadsession 204 remains intact during participation by the leader and thepeers in the selected activity and the leader and the peers aresimultaneous members of the lead session 204 and the activity session206. As such, the lead session 204 persists during and after theselected activity ends. Further, if the lead session 204 has openparticipant slots or open spectator slots, other peers may join the leadsession 204 during an active activity. For example, while the leader andthe current peers are participating in an activity, another peer canjoin the lead session 204 and can spectate or wait until the leader andthe current peers complete the activity. In the same example, the otherpeer can join the activity if one of the leader or the current peersleaves the activity. Alternatively, the leader and the current peers maybe added to the activity session 206, and a placeholder may beestablished in the lead session 204 for each leader and peer until theactivity is completed.

From either an established lead session 204 and/or an activity session,a user can join an established social session 202 or create a socialsession 202. Further, session data related to activity session may bestored at the platform servers 120 and/or displayed at a social session202 and/or on an interactive interface 208.

An interactive interface 208 can be established by the platform servers120 and can be displayed on the user devices 140. Such interactiveinterface 208 may display available activities, user and/or peer data(e.g., current status, past history, etc.), or available lead sessions204 to join. Such interactive interface 208 may also allow a user tocreate a social session 202, join an established social session 202,create a lead session 204 and invite peers, or join an existing leadsession 204.

FIG. 3 is a flowchart illustrating an exemplary method 300 forestablishing and managing multiuser lead sessions. The method 300 ofFIG. 3 may be embodied as executable instructions in a non-transitorycomputer readable storage medium including but not limited to a CD, DVD,or non-volatile memory such as a hard drive. The instructions of thestorage medium may be executed by a processor (or processors) to causevarious hardware components of a computing device hosting or otherwiseaccessing the storage medium to effectuate the method. The execution ofthe instructions may be implemented on the cloud servers (e.g., thesteps identified in FIG. 3 are performed in the cloud). The stepsidentified in FIG. 3 (and the order thereof) are exemplary and mayinclude various alternatives, equivalents, or derivations thereofincluding but not limited to the order of execution of the same.

In step 310, input regarding a selected activity associated with aninteractive content title is received by the platform server 120. Suchactivity may be an activity requiring multiple user participation (e.g.,a dungeon, multi-user quest, competitive match, etc.). Such selectionmay occur while a user is participating in a different activity of thesame or different interactive content title. Further, such selection mayoccur when the user is not participating in an activity.

In step 320, an activity template may be retrieved by the platformserver 120 or the interactive content servers 110. Such activitytemplate may be associated with the selected activity. Such activitytemplate may also include data regarding activity properties (e.g.,minimum number of participants, maximum number of participants, hardwareand/or software required, user level requirements, etc.) of the selectedactivity required to start the activity.

In step 330, a lead session 204 may be established by the platformservers 120 or the interactive content servers 110. Such lead session204 may include a plurality of participation slots corresponding to amaximum number of participants established by the activity template.

In step 340, a user may be assigned as a leader of the lead session 204by the platform servers 120 or the interactive content servers 110. Inone example, the first user to enter a lead session 204 is assignedleader of such lead session 204. Such leader may have leadershipresponsibilities (e.g., adding or removing peers from the lead session,changing the privacy level of the lead session 204 (e.g., allowing peersto enter the lead session without an invite, requiring an invite to jointhe lead session, etc.), inviting peers to join the lead session,selecting another activity for the lead session to interact with, etc.).If the leader exits or drops out of the lead session 204, one of aplurality of peers in the lead session 204 may be assigned as theleader. Such assignment may be based on the order of each peer joiningthe lead session 204. For example, a peer that joined the lead session204 first may be selected as the leader and the peer that joined thelead session 204 second may be next in line to be assigned the leader.Such assignment may be based on a leadership requirement (e.g., hardwareand/or software requirements, peer experience, highest amount ofplaytime, achievements earned, etc.). For example, the leader may berequired to have certain hardware to host an activity.

In step 350, each of a plurality of peers may be added to each emptyparticipant slot in accordance with leader input (e.g., expressselections, preferences, profile information) as implemented by theplatform servers 120 or the interactive content source servers 110. Theplurality of peers may be equal to the number of empty participantslots. Such plurality of peers may be added to the empty participantslots by the leader. The plurality of peers may alternatively be invitedto join the lead session 204 and peers who accept the invitation may beadded to the empty participant slots. Further, a peer may join a leadsession 204 that is not restricted to invite-only. Such lead session 204may include other restrictions that the peer has satisfied (e.g., thepeer must be a “friend” of the leader). The plurality of peers may alsobe added by matchmaking. Such matchmaking may include matching at leastone peer to the lead session 204 based on peer data (e.g., peerexperience, peer skill, peer hardware and/or software, etc.) of eachpeer corresponding to one or more properties of the lead session 204.Such matched peers may automatically added to the lead session 204.

The plurality of peers may be part of social session 202 outside of aninteractive content title (e.g., game), as described above. The socialsession 202 may receive an invitation to join a lead session 204 that iscurrently participating in an activity or will participate in theactivity in the future by a leader or a peer of the lead session 204.Such social session invitation may send an invitation to each peer inthe social session 202 to join the lead session, wherein each peer mayindividually accept the invitation to join the lead session 204. Once auser or a peer is added to a lead session 204, the peer cannot be addedto another lead session 204 without leaving the first lead session 204.In other words, a user or a peer can only participate or spectate in onelead session 204 at a time.

In step 360, the selected activity automatically initiated by theinteractive content source servers 110 within the established leadsession 204 by the platform servers 120 or the interactive contentsource servers 110The lead session 204 can provide further communicationbetween the users (e.g., voice chat, direct messaging, text chat, screensharing, video chat, etc.) during interaction with the activity. Afterthe interaction with the activity has ended or been completed, theexisting lead session 204 can persist after leaving the activity. Inother words, the participants of the lead session 204 remain togethereven after the activity has ended.

After the selected activity ends, the leader of the lead session 204 maythen select another activity in the same interactive content title toparticipate in. Such selection of a new activity can modify the existinglead session 204 to satisfy the activity requirements of the newactivity. For example, the new activity may require twelve participantswhile the former activity required six participants. In the sameexample, the lead session 204 may be modified to add six participantslots to the existing six participant slots, thus opening the leadsession 204 to new peers. On the other hand, selection of a new activitymay restrict the leader or one of the peers of the lead session 204 fromparticipating in the new activity. For example, if the new activityallows five users, but the lead session 204 currently has sixparticipants, then one of the participants will not participate in theactivity. As such, the established lead session 204 can be maintainedthroughout multiple activities without establishing a new lead session204 for each activity.

Moreover, if the leader selects an activity in a different interactivecontent title, the leader may first establish a new social session 202and add each peer from the existing lead session 204 to the new socialsession 202. The leader can then select an activity in a differentinteractive content title, thereby establishing a new lead session 204within the new interactive content title and can add or invite thesocial session 202 to the lead session 204, which adds or invites eachpeer within the new social session 202 to the new user session 204. Suchprocess allows the leader and peer to transition between interactivecontent titles or between an interactive content title and a platformwhile reducing risk of failed addition or invites of peers to leadsessions 204.

Multiuser lead sessions as provided and described allow a group of userand peers to interact with multiple activities and/or titles withouthaving to recreate the group of users in each different activity and/orinteractive content title, thereby allowing the group of user and peersto maintain interaction with each other through multiple activities andperiods between activities.

FIG. 4 is an exemplary user electronic entertainment system that may beused in launching interactive content and providing dynamic interfaces.The entertainment system 400 of FIG. 4 includes a main memory 405, acentral processing unit (CPU) 410, vector unit 415, a graphicsprocessing unit 420, an input/output (I/O) processor 425, an I/Oprocessor memory 430, a peripheral interface 435, a memory card 440, aUniversal Serial Bus (USB) interface 445, and a communication networkinterface 450. The entertainment system 400 further includes anoperating system read-only memory (OS ROM) 455, a sound processing unit460, an optical disc control unit 470, and a hard disc drive 465, whichare connected via a bus 475 to the I/O processor 425.

Entertainment system 400 may be an electronic game console.Alternatively, the entertainment system 400 may be implemented as ageneral-purpose computer, a set-top box, a hand-held game device, atablet computing device, a virtual reality device, an augmented realitydevice, or a mobile computing device or phone. Entertainment systems maycontain more or less operating components depending on a particular formfactor, purpose, or design.

The CPU 410, the vector unit 415, the graphics processing unit 420, andthe I/O processor 425 of FIG. 4 communicate via a system bus 485.Further, the CPU 410 of FIG. 4 communicates with the main memory 405 viaa dedicated bus 480, while the vector unit 415 and the graphicsprocessing unit 420 may communicate through a dedicated bus 490. The CPU410 of FIG. 4 executes programs stored in the OS ROM 455 and the mainmemory 405. The main memory 405 of FIG. 4 may contain pre-storedprograms and programs transferred through the I/O Processor 425 from aCD-ROM, DVD-ROM, or other optical disc (not shown) using the opticaldisc control unit 470. I/O Processor 425 of FIG. 4 may also allow forthe introduction of content transferred over a wireless or othercommunications network (e.g., 4G, LTE, 1G, and so forth). The I/Oprocessor 425 of FIG. 4 primarily controls data exchanges between thevarious devices of the entertainment system 400 including the CPU 410,the vector unit 415, the graphics processing unit 420, and theperipheral interface 435.

The graphics processing unit 420 of FIG. 4 executes graphicsinstructions received from the CPU 410 and the vector unit 415 toproduce images for display on a display device (not shown). For example,the vector unit 415 of FIG. 4 may transform objects fromthree-dimensional coordinates to two-dimensional coordinates, and sendthe two-dimensional coordinates to the graphics processing unit 420.Furthermore, the sound processing unit 460 executes instructions toproduce sound signals that are outputted to an audio device such asspeakers (not shown). Other devices may be connected to theentertainment system 400 via the USB interface 445, and thecommunication network interface 450 such as wireless transceivers, whichmay also be embedded in the system 400 or as a part of some othercomponent such as a processor.

A user of the entertainment system 400 of FIG. 4 provides instructionsvia the peripheral interface 435 to the CPU 410, which allows for use ofa variety of different available peripheral devices (e.g., controllers)known in the art. For example, the user may instruct the CPU 410 tostore certain game information on the memory card 440 or othernon-transitory computer-readable storage media or instruct a characterin a game to perform some specified action.

The present invention may be implemented in an application that may beoperable by a variety of end user devices. For example, an end userdevice may be a personal computer, a home entertainment system (e.g.,Sony PlayStation2® or Sony PlayStation3® or Sony PlayStation4®), aportable gaming device (e.g., Sony PSP® or Sony Vita®), or a homeentertainment system of a different albeit inferior manufacturer. Thepresent methodologies described herein are fully intended to be operableon a variety of devices. The present invention may also be implementedwith cross-title neutrality wherein an embodiment of the present systemmay be utilized across a variety of titles from various publishers.

The present invention may be implemented in an application that may beoperable using a variety of devices. Non-transitory computer-readablestorage media refer to any medium or media that participate in providinginstructions to a central processing unit (CPU) for execution. Suchmedia can take many forms, including, but not limited to, non-volatileand volatile media such as optical or magnetic disks and dynamic memory,respectively. Common forms of non-transitory computer-readable mediainclude, for example, a floppy disk, a flexible disk, a hard disk,magnetic tape, any other magnetic medium, a CD-ROM disk, digital videodisk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM,and any other memory chip or cartridge.

Various forms of transmission media may be involved in carrying one ormore sequences of one or more instructions to a CPU for execution. A buscarries the data to system RAM, from which a CPU retrieves and executesthe instructions. The instructions received by system RAM can optionallybe stored on a fixed disk either before or after execution by a CPU.Various forms of storage may likewise be implemented as well as thenecessary network interfaces and network topologies to implement thesame.

The foregoing detailed description of the technology has been presentedfor purposes of illustration and description. It is not intended to beexhaustive or to limit the technology to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. The described embodiments were chosen in order to best explainthe principles of the technology, its practical application, and toenable others skilled in the art to utilize the technology in variousembodiments and with various modifications as are suited to theparticular use contemplated. It is intended that the scope of thetechnology be defined by the claim.

1. A method for establishing a session, the method comprising: receivinginput regarding a selected activity associated with an interactivecontent title; retrieving an activity template associated with theselected activity, the activity template including activity propertiesspecifying at least a minimum number of participants to start theselected activity; establishing a session based at least on the activityproperties, wherein the session has a plurality of participant slotsbased on the minimum number of participants specified by the retrievedactivity template; assigning a user as a leader of the establishedsession, the leader having leadership responsibilities including atleast adding peers as participants in the session; adding each of aplurality of peers to each available participant slot in accordance withleader input; initiating the selected activity within the establishedsession; and maintaining the established session when a differentactivity is selected, the different activity associated with a differentactivity template specifying different session properties.
 2. The methodof claim 1, wherein adding each of the plurality of peers furtherincludes: sending an invitation to each of the plurality of peers tojoin the session; and receiving an acceptance from at least one peer,wherein the at least one peer is added to one of the availableparticipant slots based on the acceptance.
 3. The method of claim 2,wherein adding each of the plurality of peers further includesautomatically matching the plurality of invited peers to the establishedsession based on peer data of each of the plurality of peerscorresponding to one or more properties of the established session, theproperties specified by the activity template.
 4. (canceled)
 5. Themethod of claim 1, wherein the plurality of participant slots associatedwith the established session is modified based on a different minimumnumber of participants specified by the different activity template. 6.The method of claim 1, further comprising storing session history insession memory, wherein the stored session history includes informationregarding one or more past activities in the established session.
 7. Themethod of claim 6, wherein the session history further includes leaderdata regarding participation by the leader in each past activity andpeer data for each peer in the session respective past activity.
 8. Themethod of claim 1, wherein the established session further specifies anumber of available spectator slots for spectator devices allowed toview the selected activity during the established session.
 9. The methodof claim 1, wherein establishing the session further includes providingvoice chat among the leader and the added peers.
 10. The method of claim1, wherein the established session includes session properties that arebased on leader preference.
 11. The method of claim 1, furthercomprising assigning one of the added peers to be a next leader when adevice of the leader drops out of the established session.
 12. Themethod of claim 11, wherein assigning the next leader is based on anorder in which each of the added peer was added to the establishedsession.
 13. A system for establishing a session, the system comprising:memory that stores a plurality of interactive content titles and atleast one activity template associated with each of the interactivecontent titles; and a processor that executes instructions stored inmemory, wherein execution of the instructions by the processor: receivesinput regarding a selected activity associated with one of theinteractive content titles stored in memory; retrieves an activitytemplate associated with the selected activity from the at least oneactivity template, the activity template including activity propertiesspecifying at least a minimum number of participants to start theselected activity; establishes a session based at least on the activityproperties, wherein the session has a plurality of participant slotsbased on the minimum number of participants specified by the retrievedactivity template; assigns a user as a leader of the establishedsession, the leader having leadership responsibilities including atleast adding peers as participants in the session; adds each of aplurality of peers to each available participant slot in accordance withleader input; initiates the selected activity within the establishedsession and maintains the established session when a different activityis selected, the different activity associated with a different activitytemplate specifying different session properties.
 14. The system ofclaim 13, wherein the processor execution of instructions to add each ofthe plurality of peers further: sends an invitation to each of theplurality of peers to join the session; and receives an acceptance fromat least one peer, wherein the at least one peer is added to one of theavailable participant slots based on the acceptance.
 15. The system ofclaim 14, wherein the processor execution of instructions to add each ofthe plurality of peers further automatically matches the plurality ofinvited peers to the established session based on peer data of each ofthe plurality of peers corresponding to one or more properties of theestablished session, the properties specified by the activity template.16. (canceled)
 17. The system of claim 13, wherein the plurality ofparticipant slots associated with the established session is modifiedbased on a different minimum number of participants specified by thedifferent activity template.
 18. The system of claim 13, the processorfurther stores session history in session memory, wherein the storedsession history includes information regarding one or more pastactivities in the established session.
 19. The system of claim 18,wherein the session history further includes leader data regardingparticipation by the leader in each past activity and peer data for eachpeer in the session respective past activity.
 20. A non-transitorycomputer-readable medium having embodied thereon a program executable bya processor to perform a method for establishing a session, the methodcomprising: receiving input regarding a selected activity associatedwith an interactive content title; retrieving an activity templateassociated with the selected activity, the activity template includingactivity properties specifying at least a minimum number of participantsto start the selected activity; establishing a session based at least onthe activity properties, wherein the session has a plurality ofparticipant slots based on the minimum number of participants specifiedby the retrieved activity template; assigning a user as a leader of theestablished session, the leader having leadership responsibilitiesincluding at least adding peers as participants in the session; addingeach of a plurality of peers to each available participant slot inaccordance with leader input; initiating the selected activity withinthe established session; and maintaining the established session when adifferent activity is selected, the different activity associated with adifferent activity template specifying different session properties. 21.The method of claim 20, wherein adding each of the plurality of peersfurther includes: sending an invitation to each of the plurality ofpeers to join the session; and receiving an acceptance from at least onepeer, wherein the at least one peer is added to one of the availableparticipant slots based on the acceptance, wherein adding each of theplurality of peers further includes automatically matching the pluralityof invited peers to the established session based on peer data of eachof the plurality of peers corresponding to one or more properties of theestablished session, the properties specified by the activity template.22. The method of claim 20, wherein the plurality of participant slotsassociated with the established session is modified based on a differentminimum number of participants specified by the different activitytemplate.